ヘッダーをスキップ
Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド
リリース6.0
B25766-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

複数スレッドの管理

注意: 一部のUNIXプラットフォームでは、THREADS_FLAGを設定する必要があります。「THREADS_FLAG変数の設定(UNIXのみ)」を参照してください。

level4.javaデモでは、複数スレッドの使用について説明します。

アプリケーションでデータ・ストアへの直接ドライバ接続が行われる場合、TimesTenの機能はアプリケーションとスタック領域を共有します。マルチ・スレッド環境では、各スレッドに割り当てられたスタックのオーバーランを避けることが重要です。これは、オーバーランによって、予想できないデバッグ困難な結果になる可能性があるためです。TimesTenのコールで消費されるスタック領域の量は、使用するSQL機能によって異なります。ほとんどのアプリケーションでは、32-bitシステムで16KB、64-bitシステムで34KBから72KBのスレッド・スタック領域を設定する必要があります。

スレッドごとに割り当てられるスタック領域の量は、スレッドの作成時にオペレーティング・システムによって指定されます。Windowsでは、TimesTenデバッグ・ドライバを使用して、Visual C++デバッグCライブラリにアプリケーションをリンクすると、スタック・プローブを有効にすることができます。これにより、スレッドで割り当てられた量を超えてそのスタックを増やそうとすると、識別可能な例外が発生します。

注意: マルチ・スレッド・アプリケーションでは、同じデータ・ストアへの様々な接続ハンドルにリクエストを発行するスレッドで、それ自身とのロック競合が発生する可能性があります。TimesTenでは、ロック・タイムアウトを使用してこれらの競合を解消します。